Triggers এবং Functions

Database Tutorials - ডকুমেন্ট ডিবি (DocumentDB) DocumentDB এর Advanced Features |
237
237

Triggers এবং Functions হল ডেটাবেস পরিচালন ব্যবস্থার গুরুত্বপূর্ণ উপাদান, যা ডেটাবেসে স্বয়ংক্রিয় কার্যক্রম পরিচালনা করতে সাহায্য করে। Triggers একটি নির্দিষ্ট ইভেন্টের জন্য স্বয়ংক্রিয়ভাবে চালিত হয়, এবং Functions হল পুনরায় ব্যবহারযোগ্য কোড যা ডেটাবেসে নির্দিষ্ট কাজ করতে ব্যবহৃত হয়।

তবে, CouchDB এবং MongoDB উভয়েই ঐতিহ্যগত SQL ডেটাবেসের মতো ট্রিগার বা ফাংশন সমর্থন করে না, কিন্তু কিছু আধুনিক NoSQL ডেটাবেসে ট্রিগার এবং ফাংশনালিটি রয়েছে, যা সাধারণত অ্যাপ্লিকেশন লেভেলে পরিচালিত হয়। নিচে Triggers এবং Functions সম্পর্কে বিস্তারিত আলোচনা করা হলো।


1. Triggers (ট্রিগার)

Triggers হল বিশেষ ধরনের স্নিপেট বা কোড, যা স্বয়ংক্রিয়ভাবে একটি নির্দিষ্ট ডেটাবেস ইভেন্ট (যেমন ইনসার্ট, আপডেট বা ডিলিট) সংঘটিত হলে চালিত হয়। SQL ডেটাবেসে, ট্রিগার সাধারণত INSERT, UPDATE, DELETE ইভেন্টের উপর ভিত্তি করে চলে। NoSQL ডেটাবেসে, বিশেষ করে CouchDB এবং MongoDB-তে, ট্রিগার ব্যবহারের জন্য অন্য ধরনের পদ্ধতি থাকতে পারে।

CouchDB তে Triggers

CouchDB তে কোনো সোজা ট্রিগার ব্যবস্থাপনা নেই, তবে আপনি CouchDB Design Documents এবং Views ব্যবহার করে কিছু ম্যানুয়াল প্রক্রিয়া তৈরি করতে পারেন। উদাহরণস্বরূপ, আপনি কিছু কাস্টম ফাংশন এবং MapReduce ব্যবহার করে ডেটার ওপর কিছু অটোমেটেড প্রসেস তৈরি করতে পারেন।

  • Design Documents: CouchDB তে, ডেটা পরিবর্তন বা নতুন ডকুমেন্ট তৈরি করার পরে, views এবং functions ব্যবহার করা যেতে পারে, তবে এটি ট্রিগারের মতো কাজ করবে না। এটি শুধু কুয়েরি এবং ডেটা প্রসেসিংয়ের জন্য উপযুক্ত।

MongoDB তে Triggers

MongoDB তে Triggers সাধারণত Change Streams ব্যবহার করে তৈরি করা হয়, যা MongoDB 3.6 সংস্করণ থেকে উপলব্ধ। এটি একটি real-time ইভেন্ট ড্রিভেন সিস্টেম যেখানে ডেটা পরিবর্তনের সময় MongoDB ক্লাস্টারের মধ্যে সঠিক কাজের জন্য event listeners বসানো হয়। MongoDB-তে Change Streams ব্যবহার করে আপনি ডেটাবেসের পরিবর্তন বা আপডেটের প্রতি মনিটর করতে পারেন এবং সেই অনুযায়ী কার্যক্রম চালাতে পারেন।

MongoDB তে ট্রিগার কার্যক্রমের উদাহরণ হতে পারে:

const changeStream = db.collection.watch();

changeStream.on('change', (next) => {
    console.log(next);
    // Handle changes (Insert, Update, Delete) here
});

এই কোডটি MongoDB-র watch ফিচার ব্যবহার করে, যেটি ডেটাবেসের পরিবর্তন নজরদারি করে এবং আপনি যেকোনো পরিবর্তন ঘটলে কাস্টম ফাংশন চালাতে পারেন।


2. Functions (ফাংশন)

Functions হল কোডের পুনঃব্যবহারযোগ্য অংশ, যা নির্দিষ্ট ইনপুট নিয়ে কার্য সম্পাদন করে। SQL ডেটাবেসে stored functions বা user-defined functions (UDFs) ব্যবহৃত হয়, যেখানে আপনি একাধিক ইনপুট দিয়ে একটি নির্দিষ্ট কাজ সম্পাদন করতে পারেন। NoSQL ডেটাবেসে, সাধারণত এটি অ্যাপ্লিকেশন লেভেল ফাংশন হিসাবে কার্যকর হয়, তবে কিছু NoSQL ডেটাবেসে সীমিত ফাংশনালিটি রয়েছে।

CouchDB তে Functions

CouchDB তে functions সাধারণত views এবং MapReduce কৌশলগুলির মাধ্যমে তৈরি করা হয়। JavaScript ব্যবহার করে আপনি কিছু কাস্টম ফাংশন তৈরি করতে পারেন, যা ডেটাবেসের উপর কাজ করবে। CouchDB-তে ফাংশন মূলত MapReduce ফাংশনালিটি হিসেবে কাজ করে।

CouchDB View Function Example:

function(doc) {
  if (doc.type === "user") {
    emit(doc.name, doc.age);
  }
}

এই কোডটি user ধরনের ডকুমেন্টের নাম এবং বয়স প্রদর্শন করবে, যা একটি কাস্টম ফাংশনের মাধ্যমে করা হচ্ছে।

MongoDB তে Functions

MongoDB তে functions অ্যাপ্লিকেশন স্তরে সাধারণত JavaScript, Node.js, Python ইত্যাদির মাধ্যমে তৈরি করা হয়। MongoDB server-side JavaScript এবং MongoDB Atlas Functions সাপোর্ট করে, যা কাস্টম কোড চালাতে ব্যবহৃত হয়। MongoDB Atlas Functions ব্যবহার করে ক্লাউডে ফাংশন তৈরি করতে পারেন।

MongoDB Atlas Function Example:

exports = function(payload) {
  const collection = context.services.get("mongodb-atlas").db("sampleDB").collection("users");
  return collection.find({ age: { $gt: 18 } }).toArray();
};

এই ফাংশনটি MongoDB Atlas ক্লাউডের মধ্যে ডেটা ফিল্টারিং এবং রিটার্ন করার জন্য ব্যবহৃত হবে।


CouchDB এবং MongoDB তে Triggers এবং Functions এর পার্থক্য

বৈশিষ্ট্যCouchDBMongoDB
Triggersসরাসরি ট্রিগার সমর্থন করে না, তবে views এবং functions ব্যবহার করা যায়Change Streams সমর্থন করে, যা ডেটাবেস পরিবর্তন নজরদারি করে
FunctionsMapReduce ফাংশনালিটি, JavaScript ব্যবহার করা হয়Atlas Functions এবং server-side JavaScript
প্রক্রিয়াViews এবং MapReduce এর মাধ্যমে প্রক্রিয়া করা হয়MongoDB এর watch ফিচার ব্যবহার করে real-time কার্য সম্পাদন
ট্রিগার বা ফাংশনের কার্যক্রমকোড বা ফাংশন কাস্টম লজিকের সাথে যুক্তপরিবর্তনের উপর ভিত্তি করে সিস্টেমে কার্যকারিতা অটোমেটেড হয়

সারাংশ

Triggers এবং Functions ডেটাবেসে স্বয়ংক্রিয় কার্যক্রম পরিচালনা করার জন্য খুবই গুরুত্বপূর্ণ। CouchDB এবং MongoDB উভয়েই বিভিন্ন পদ্ধতিতে এই কার্যক্রম সম্পন্ন করে, তবে তাদের বাস্তবায়ন ভিন্ন। CouchDB তে MapReduce এবং views ব্যবহার করে কার্য সম্পাদন করা হয়, whereas MongoDB তে Change Streams এবং Atlas Functions ব্যবহৃত হয়। MongoDB বেশ কিছু ক্ষেত্রে real-time ডেটা পরিবর্তন মনিটর করতে সহায়ক এবং ফাংশনগুলিকে আরও ডাইনামিক ভাবে প্রয়োগ করা সম্ভব।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion